Querying
MIDI Output Devices
Before
playing a MIDI file, you should use the midiOutGetDevCaps
MIDI output
devices can be either internal synthesizers or external MIDI output ports. The wTechnology
member of the MIDIOUTCAPS structure specifies the technology of the
device.
If the device
is an internal synthesizer, additional device information is available in the wVoices,
wNotes, and wChannelMask members. The wVoices member
specifies the number of voices that the device supports. Each voice can have a
different sound or timbre. Voices are organized into MIDI channels. The wNotes
member specifies the polyphony of the device that is, the maximum number of notes that can be
played simultaneously. The wChannelMask member is a bit representation
of the MIDI channels that the device responds to. For example, if the device
responds to the first eight MIDI channels, wChannelMask is 0x00FF. If
the device is an external output port, wVoices and wNotes are
unused, and wChannelMask is set to 0xFFFF.
The dwSupport
member of the MIDIOUTCAPS structure indicates whether the device driver
supports volume changes, patch caching, and streaming. Volume changes are
supported only by internal synthesizer devices. External MIDI output ports do
not support volume changes. For information about changing volume, see Changing
Internal MIDI Synthesizer Volume